/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.leiam.eolica.denis;

import java.text.NumberFormat;
import javax.swing.table.AbstractTableModel;

/**
 * 
 * @author Denis
 */
public class TabelaProdEnergia extends AbstractTableModel {

	private double[] fvpv;
	private double[] curvaPotencia, freqRelativa, velocidade;

	public TabelaProdEnergia( double[] velocidade,
			double[] freqRelativa, double[] curvaPotencia, double[] fvpv) {
		this.velocidade = (velocidade);
		this.freqRelativa = (freqRelativa);
		this.curvaPotencia = (curvaPotencia);
		this.fvpv = (fvpv);
	}

	public int getRowCount() {
		return getVelocidade().length;
	}

	public int getColumnCount() {
		return 4;
	}

	public String getColumnName(int columnIndex) {
		String nomeColuna = "";
		if (columnIndex == 0)
			nomeColuna = "Velocidade(m/s)";
		if (columnIndex == 1)
			nomeColuna = "Frequencia(%)";
		if (columnIndex == 2)
			nomeColuna = "Pot. Aerog.(kW)";
		if (columnIndex == 3)
			nomeColuna = "f(v).p(v)";
		return nomeColuna;
	}

	public Class<?> getColumnClass(int columnIndex) {
		return getVelocidade().getClass();
	}

	public boolean isCellEditable(int rowIndex, int columnIndex) {
		return false;
	}

	public Object getValueAt(int rowIndex, int columnIndex) {
		Object valor = null;

		NumberFormat formatador = NumberFormat.getInstance();
		formatador.setMaximumFractionDigits(2);
		if (columnIndex == 0)
			valor = formatador.format(getVelocidade()[rowIndex]);
		if (columnIndex == 1)
			valor = formatador.format(getFreqRelativa()[rowIndex]);
		if (columnIndex == 2)
			valor = formatador.format(getCurvaPotencia()[rowIndex]);
		if (columnIndex == 3)
			valor = formatador.format(getFvpv()[rowIndex]);
		return valor;
	}

	/**
	 * @return the fvpv
	 */
	public double[] getFvpv() {
		return fvpv;
	}

	/**
	 * @param fvpv
	 *            the fvpv to set
	 */
	public void setFvpv(double[] fvpv) {
		this.fvpv = fvpv;
	}

	/**
	 * @return the curvaPotencia
	 */
	public double[] getCurvaPotencia() {
		return curvaPotencia;
	}

	/**
	 * @param curvaPotencia
	 *            the curvaPotencia to set
	 */
	public void setCurvaPotencia(double[] curvaPotencia) {
		this.curvaPotencia = curvaPotencia;
	}

	/**
	 * @return the freqRelativa
	 */
	public double[] getFreqRelativa() {
		return freqRelativa;
	}

	/**
	 * @param freqRelativa
	 *            the freqRelativa to set
	 */
	public void setFreqRelativa(double[] freqRelativa) {
		this.freqRelativa = freqRelativa;
	}

	/**
	 * @return the velocidade
	 */
	public double[] getVelocidade() {
		return velocidade;
	}

	/**
	 * @param velocidade
	 *            the velocidade to set
	 */
	public void setVelocidade(double[] velocidade) {
		this.velocidade = velocidade;
	}

}
